home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / MISCELLA / SPLINE10.ZIP / SPLINES.H < prev    next >
C/C++ Source or Header  |  1993-12-27  |  2KB  |  70 lines

  1. /*FILE:
  2. *******************************************************************************
  3. **
  4. **  File:     splines.h
  5. **
  6. **  Descrip:  Header for the splines DLL.
  7. **
  8. **  Copyright (C) Andrew S. Dean 1993
  9. **
  10. *******************************************************************************
  11. */
  12.  
  13. #ifndef  SPLINES_H
  14. #define  SPLINES_H
  15.  
  16. #include <windows.h>
  17.  
  18.  
  19.  
  20. /*-----------------------------------------------------------------------------
  21. **  Define Public typedefs
  22. **-----------------------------------------------------------------------------
  23. */
  24. typedef struct xyz_td {
  25.     float           x, y, z;
  26. } xyz_td;
  27.  
  28. typedef xyz_td FAR * lpxyzTD;
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.                                                                                          /* A regular B spline has a
  38.                                                                                               tension of 1.0. )         */
  39. long FAR PASCAL Bspline(long    lRes,        /* Resolution.  Number of    */
  40.                                                                                          /* points in each segment.   */
  41.                         float   tension,     /* Tension parameter.        */
  42.                         long    lNumControl, /* Number of control points. */
  43.                         lpxyzTD Control,     /* Control polygon.          */
  44.                         lpxyzTD Curve );     /* Returned curve.           */
  45.  
  46.  
  47. long FAR PASCAL Bezier(long     lRes,
  48.                        long     lNumControl,
  49.                        lpxyzTD  Control,
  50.                        lpxyzTD  Curve );
  51.  
  52.  
  53. long FAR PASCAL BetaSpline(long    lRes,
  54.                            float   fTension,
  55.                                                      float   fBias,
  56.                                                      long    lNumControl,
  57.                                                      lpxyzTD Control,
  58.                                                      lpxyzTD Curve );
  59.  
  60. long FAR PASCAL TauSpline(long    lRes,
  61.                           float   fTension,
  62.                                                     float   fBias,
  63.                                                     long    lNumControl,
  64.                                                     lpxyzTD Control,
  65.                                                     lpxyzTD Curve );
  66.  
  67.  
  68. #endif SPLINES_H
  69.  
  70.